1. Field of the Invention
This invention relates to new and useful improvements in methods of operating general purpose digital computing systems. More specifically, it relates to an apparatus and method for utilizing data storage and communication resources in a multiprocessing distributed data base system by dynamically replicating data under distributed system control.
2. Description of the Prior Art
This invention is an improvement on the method described in U.S. patent application Ser. No. 06/325,531, filed Nov. 27, 1981 by T. P. Daniell, et al, for a Method for the Dynamic Replication of Data Under Distributed System Control to Control Utilization of Resources in a Multiprocessing, Distributed Data Base System, the teachings of which are incorporated herein by reference. As is further described in Daniell, et al, a multiprocessing general purpose computing system typically includes a plurality of nodes interconnected by a communication network and having a data store. The replication of data at various nodes is controlled through the use of dipole halves, with a dipole half stored in each node of a node pair specifying the status of a shared data atom at the related node assumed by this node.
The improvement in this application relates, generally, to an "asynchronous" communication protocol for such a dynamic replication system. In the system of Daniell, et al, the implicit assumption is that each node of a node pair may change its dipole half at the same time. This requires that either a two-phase commit, handshaking, or buffering procedure be implemented by some other facility to assure synchronous operation. A two-phase commit procedure assures that if a failure occurs when only one node of a node pair has changed its dipole half, that node will be required to back out the change to restore consistency between the two dipole halves. Alternatively, a communication protocol which enforces some orderly communication of messages, or a buffer protocol which buffers messages until some required order is obtained, may be provided.
By this invention, the communication of messages between nodes may be asynchronous; that is, unorderly. Thus, messages may get lost between nodes, messages which have been received and processed may unexpectedly reappear, messages may arrive out of order, and conflicting messages may pass each other in the communication channels interconnecting the nodes (like "ships that pass in the night"). By this invention, messages received at each node will be processed normally, or else discarded, in the order of their receipt at a node, and no two-phase commit or other procedure need be implemented to assure consistency between the dipole halves of paired nodes.